package com.lemon.blog.web.mapper;

import com.lemon.blog.web.domain.BlFrontMenu;
import com.lemon.common.core.base.BaseMapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 包名称：com.lemon.blog.mapper
 * 类名称：BlFrontMenuMapper
 * 类描述：前台菜单表mapper
 * 创建人：@author huangpeng
 * 创建时间：2022年09月18日 19:47
 */
public interface BlFrontMenuMapper extends BaseMapper<BlFrontMenu> {

    /**
     * 查询系统菜单列表
     * @Title: selectMenuList
     * @Description: 查询系统菜单列表
     * @param menu
     * @return: List<BlFrontMenu>
     * @throws:
     * @author: huangpeng
     * @Date: 2023/2/26 19:47
     */
     List<BlFrontMenu> selectMenuList(BlFrontMenu menu);

    /**
     * 根据用户ID查询菜单
     * @Title: selectMenuTreeAll
     * @Description: 根据用户ID查询菜单
     * @param
     * @return: List<BlFrontMenu>
     * @throws:
     * @author: huangpeng
     * @Date: 2023/2/26 19:47
     */
     List<BlFrontMenu> selectMenuTreeAll();

    /**
     * 是否存在菜单子节点
     * @Title: hasChildByMenuId
     * @Description: 是否存在菜单子节点
     * @param menuId 菜单id
     * @return: int
     * @throws:
     * @author: huangpeng
     * @Date: 2023/2/26 19:48
     */
     int hasChildByMenuId(Long menuId);

    /**
     * 校验菜单名称是否唯一
     * @Title: checkMenuNameUnique
     * @Description: 校验菜单名称是否唯一
     * @param menuName 菜单名称
     * @param parentId 父菜单ID
     * @return: BlFrontMenu
     * @throws:
     * @author: huangpeng
     * @Date: 2023/2/26 19:48
     */
     BlFrontMenu checkMenuNameUnique(@Param("menuName") String menuName, @Param("parentId") Long parentId);
}
